<!doctype html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>线程管理：计算机的协同舞蹈</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css">
    <link rel="stylesheet" href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/mermaid@latest/dist/mermaid.min.js"></script>
    <style>
        body {
            font-family: 'Noto Sans SC', Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
            min-height: 100vh;
        }
        .hero-gradient {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        }
        .card-hover {
            transition: all 0.3s ease;
        }
        .card-hover:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.1);
        }
        .text-gradient {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        .drop-cap {
            float: left;
            font-size: 4rem;
            line-height: 1;
            font-weight: 700;
            margin-right: 0.5rem;
            margin-top: 0.2rem;
            color: #667eea;
            font-family: 'Noto Serif SC', serif;
        }
        .section-divider {
            height: 2px;
            background: linear-gradient(to right, transparent, #667eea, transparent);
            margin: 3rem 0;
        }
        .concept-card {
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(102, 126, 234, 0.1);
        }
        .mermaid {
            display: flex;
            justify-content: center;
            margin: 2rem 0;
        }
        .floating-icon {
            animation: float 3s ease-in-out infinite;
        }
        @keyframes float {
            0%, 100% { transform: translateY(0px); }
            50% { transform: translateY(-10px); }
        }
    </style>
</head>
<body>
    <!-- Hero Section -->
    <section class="hero-gradient text-white py-20 px-6">
        <div class="max-w-6xl mx-auto text-center">
            <div class="floating-icon inline-block mb-6">
                <i class="fas fa-network-wired text-6xl opacity-80"></i>
            </div>
            <h1 class="text-5xl md:text-6xl font-bold mb-6 tracking-tight">线程管理</h1>
            <p class="text-2xl md:text-3xl font-light mb-8 opacity-90">计算机的协同舞蹈</p>
            <p class="text-lg md:text-xl max-w-3xl mx-auto leading-relaxed opacity-80">
                在数字世界的舞台上，线程如同优雅的舞者，在操作系统的指挥下演绎着精妙的协同之舞。让我们一起探索这场数字化表演背后的奥秘。
            </p>
        </div>
    </section>

    <!-- Main Content -->
    <main class="max-w-6xl mx-auto px-6 py-16">
        <!-- Introduction -->
        <section class="mb-16">
            <div class="bg-white rounded-2xl shadow-xl p-8 md:p-12">
                <p class="text-lg leading-relaxed text-gray-700">
                    <span class="drop-cap">在</span>计算机的世界里，线程管理是操作系统中一个重要的概念。即使对于计算机小白，理解线程管理也能够帮助我们更好地把握计算机运作的精妙之处。
                </p>
            </div>
        </section>

        <!-- What is Thread -->
        <section class="mb-16">
            <h2 class="text-4xl font-bold mb-8 text-gray-800 flex items-center">
                <i class="fas fa-stream mr-4 text-gradient"></i>
                什么是线程？
            </h2>
            <div class="grid md:grid-cols-2 gap-8">
                <div class="concept-card rounded-xl p-8 card-hover">
                    <div class="text-center mb-6">
                        <i class="fas fa-user-friends text-5xl text-purple-500"></i>
                    </div>
                    <p class="text-lg leading-relaxed text-gray-700">
                        在计算机术语中，线程是一个执行序列，是进程中的一个更小的单位。你可以把线程比作舞台上的独立舞者，每个舞者都有自己的动作，但共同为整个表演服务。
                    </p>
                </div>
                <div class="concept-card rounded-xl p-8 card-hover">
                    <div class="text-center mb-6">
                        <i class="fas fa-theater-masks text-5xl text-indigo-500"></i>
                    </div>
                    <p class="text-lg leading-relaxed text-gray-700">
                        每个线程都拥有独立的执行路径，但它们共享进程的资源。这种设计使得程序能够同时处理多个任务，就像一个剧团能够同时演绎多个角色。
                    </p>
                </div>
            </div>
        </section>

        <div class="section-divider"></div>

        <!-- Basic Concepts -->
        <section class="mb-16">
            <h2 class="text-4xl font-bold mb-8 text-gray-800 flex items-center">
                <i class="fas fa-book-open mr-4 text-gradient"></i>
                线程管理的基本概念
            </h2>
            
            <div class="grid md:grid-cols-2 gap-6 mb-12">
                <div class="bg-white rounded-xl shadow-lg p-8 card-hover border-l-4 border-purple-500">
                    <h3 class="text-2xl font-bold mb-4 text-gray-800 flex items-center">
                        <i class="fas fa-code-branch mr-3 text-purple-500"></i>
                        多线程与单线程
                    </h3>
                    <p class="text-gray-700 leading-relaxed">
                        一个程序可以包含多个线程，这称为多线程。与之相对，单线程指的是程序只有一个执行序列。多线程的好处在于能够更充分地利用计算机的多核心处理器，提高程序的执行效率。
                    </p>
                </div>
                
                <div class="bg-white rounded-xl shadow-lg p-8 card-hover border-l-4 border-indigo-500">
                    <h3 class="text-2xl font-bold mb-4 text-gray-800 flex items-center">
                        <i class="fas fa-clock mr-3 text-indigo-500"></i>
                        线程调度
                    </h3>
                    <p class="text-gray-700 leading-relaxed">
                        操作系统负责调度不同线程的执行顺序。就像一个舞台剧导演决定每个舞者何时上场一样，操作系统决定了每个线程何时执行。
                    </p>
                </div>
                
                <div class="bg-white rounded-xl shadow-lg p-8 card-hover border-l-4 border-pink-500">
                    <h3 class="text-2xl font-bold mb-4 text-gray-800 flex items-center">
                        <i class="fas fa-sync-alt mr-3 text-pink-500"></i>
                        线程同步
                    </h3>
                    <p class="text-gray-700 leading-relaxed">
                        多个线程可能需要访问相同的资源，线程同步确保它们之间的协作是有序的，防止数据混乱或冲突。
                    </p>
                </div>
                
                <div class="bg-white rounded-xl shadow-lg p-8 card-hover border-l-4 border-blue-500">
                    <h3 class="text-2xl font-bold mb-4 text-gray-800 flex items-center">
                        <i class="fas fa-comments mr-3 text-blue-500"></i>
                        线程通信
                    </h3>
                    <p class="text-gray-700 leading-relaxed">
                        不同的线程有时需要相互通信和共享数据。线程通信提供了机制，使得线程之间能够有效地交流信息。
                    </p>
                </div>
            </div>

            <!-- Mermaid Diagram -->
            <div class="bg-gray-50 rounded-xl p-8">
                <h3 class="text-2xl font-bold mb-6 text-center text-gray-800">线程管理概念关系图</h3>
                <div class="mermaid">
                    graph TD
                        A[线程管理] --> B[多线程]
                        A --> C[单线程]
                        B --> D[线程调度]
                        B --> E[线程同步]
                        B --> F[线程通信]
                        D --> G[FCFS算法]
                        D --> H[轮转法]
                        D --> I[优先级调度]
                        E --> J[互斥锁]
                        E --> K[信号量]
                        F --> L[共享内存]
                        F --> M[消息传递]
                        
                        style A fill:#667eea,stroke:#fff,stroke-width:3px,color:#fff
                        style B fill:#764ba2,stroke:#fff,stroke-width:2px,color:#fff
                        style C fill:#764ba2,stroke:#fff,stroke-width:2px,color:#fff
                        style D fill:#f093fb,stroke:#fff,stroke-width:2px,color:#fff
                        style E fill:#f093fb,stroke:#fff,stroke-width:2px,color:#fff
                        style F fill:#f093fb,stroke:#fff,stroke-width:2px,color:#fff
                </div>
            </div>
        </section>

        <div class="section-divider"></div>

        <!-- Why Thread Management -->
        <section class="mb-16">
            <h2 class="text-4xl font-bold mb-8 text-gray-800 flex items-center">
                <i class="fas fa-question-circle mr-4 text-gradient"></i>
                为什么需要线程管理？
            </h2>
            
            <div class="space-y-6">
                <div class="bg-gradient-to-r from-purple-50 to-indigo-50 rounded-xl p-8 border-l-4 border-purple-600">
                    <h3 class="text-2xl font-bold mb-3 text-gray-800">
                        <i class="fas fa-tachometer-alt mr-3 text-purple-600"></i>
                        提高程序响应性
                    </h3>
                    <p class="text-lg text-gray-700 leading-relaxed">
                        多线程使得程序能够同时处理多个任务，提高了程序的响应速度，让用户体验更加流畅。想象一下，如果浏览器只能单线程运行，那么在加载网页时，你将无法进行任何其他操作。
                    </p>
                </div>
                
                <div class="bg-gradient-to-r from-indigo-50 to-blue-50 rounded-xl p-8 border-l-4 border-indigo-600">
                    <h3 class="text-2xl font-bold mb-3 text-gray-800">
                        <i class="fas fa-microchip mr-3 text-indigo-600"></i>
                        资源利用更高效
                    </h3>
                    <p class="text-lg text-gray-700 leading-relaxed">
                        线程能够充分利用计算机的多核心处理器，使得计算机的资源得到更高效的利用。现代处理器通常拥有多个核心，多线程技术让每个核心都能发挥作用。
                    </p>
                </div>
                
                <div class="bg-gradient-to-r from-blue-50 to-purple-50 rounded-xl p-8 border-l-4 border-blue-600">
                    <h3 class="text-2xl font-bold mb-3 text-gray-800">
                        <i class="fas fa-project-diagram mr-3 text-blue-600"></i>
                        实现并发编程
                    </h3>
                    <p class="text-lg text-gray-700 leading-relaxed">
                        多线程支持并发编程，使得程序能够更好地应对多任务的需求，提高了程序的灵活性。这就像一个优秀的厨师能够同时准备多道菜肴，而不是一道接一道地制作。
                    </p>
                </div>
            </div>
        </section>

        <div class="section-divider"></div>

        <!-- Thread Scheduling -->
        <section class="mb-16">
            <h2 class="text-4xl font-bold mb-8 text-gray-800 flex items-center">
                <i class="fas fa-list-ol mr-4 text-gradient"></i>
                线程调度算法
            </h2>
            
            <div class="bg-white rounded-2xl shadow-xl p-8 md:p-12 mb-8">
                <p class="text-lg leading-relaxed text-gray-700 mb-8">
                    线程的调度是一个关键问题，决定了不同线程之间的执行顺序。一些常见的线程调度算法包括：